package cn.zhf.shop.entity.order;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "cn-zhf-shop-entity-Orders")
@Data
public class Orders extends cn.zhf.shop.entity.Orders {
    /**
     * 订单编号
     */
    @ApiModelProperty(value = " 订单编号 ，小程序创建订单不用传此项")
    private String id;

    /**
     * 用户编号
     */
    @ApiModelProperty(value = " 用户编号")
    @NotBlank(message = "用户编号不得为空")
    private String userId;

    /**
     * 机构名称
     */
    @ApiModelProperty(value = " 机构名称 ")
    private String orgName;


    /**
     * 课程id
     */
    @ApiModelProperty(value = " 课程id")
    private Integer lessonId;
    /**
     * 校区名称
     */
    @ApiModelProperty(value = " 校区名称 ")
    private String campusName;

    /**
     * 付款人姓名
     */
    @ApiModelProperty(value = " 付款人姓名 ")
    private String userName;

    /**
     * 付款人手机号
     */
    @ApiModelProperty(value = " 付款人手机号 ")
    private String userPhone;

    /**
     * 付款人身份证
     */
    @ApiModelProperty(value = " 付款人身份证 ")
    private String userIdCard;

    /**
     * 单价
     */
    @ApiModelProperty(value = " 单价 ")
    @NotBlank(message = "用户编号不得为空")
    private BigDecimal singlePrice;

    /**
     * 数量
     */
    @ApiModelProperty(value = " 数量 ")
    private Integer amount;

    /**
     * 总价
     */
    @ApiModelProperty(value = " 总价 ")
    private BigDecimal totalPrice;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = " 创建时间  ，小程序创建订单不用传此项")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 支付时间
     */
    @ApiModelProperty(value = " 支付时间  ，小程序创建订单不用传此项")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 状态
     */
    @ApiModelProperty(value = " 状态  ，小程序创建订单不用传此项")
    private Integer state;

    /**
     * 返佣比例
     */
    @ApiModelProperty(value = " 返佣比例")
    private Double referenceRatio;

    /**
     * 课程图片
     */
    @ApiModelProperty(value = "课程图片")
    private String lessonImg;

    /**
     * 订单收货地址
     */
    @ApiModelProperty(value = "订单收货地址")
    private String ordersReceivingAddress;
}
